<?php
namespace Admin\Model;

use Think\Model\RelationModel;

class CategoryModel extends RelationModel
{

    /*
     * 一对一关联 ：ONE_TO_ONE，包括HAS_ONE 和 BELONGS_TO
     * 一对多关联 ：ONE_TO_MANY，包括HAS_MANY 和 BELONGS_TO
     * 多对多关联 ：MANY_TO_MANY
     */

    /**
     * @return array
     */
    public function getCategoryTree(){
        $data = $this->order('cate_order','asc')->select();
        return $this->CategoryTree($data,'cate_name','cate_id','cate_pid',0);
    }


    /**
     * 分类栏目重构方法
     * @param $data   //处理的数据
     * @param $field_name  //要重命名的栏目字段名
     * @param $field_id   //栏目ID
     * @param $field_pid  //父级ID
     * @param $pid   //默认一级父级ID
     * @return array
     */
    public function CategoryTree($data,$field_name,$field_id='id',$field_pid='pid',$pid=0){
        $arr = array(); //定义一个空数组
        foreach ($data as $key=>$val) {
            if($val[$field_pid] == $pid){
                $data[$key]['_'.$field_name]=$data[$key][$field_name];
                $arr[] = $data[$key];
                foreach($data as $k=>$v){
                    if($v[$field_pid] == $val[$field_id]){
                        $data[$k]['_'.$field_name]='&nbsp;&nbsp;&nbsp;┠┈ '.$data[$k][$field_name];
                        $arr[]=$data[$k];
                    }
                }
            }
        }
        return $arr;
    }
}